import { constantRoutes, asyncRoutes } from '@/router/index'
const state = {
  routes: constantRoutes
}
const mutations = {
  setroute(state, payload) {
    state.routes = [...constantRoutes, ...payload]
  }
}

const actions = {
  // 路由进行筛选
  getPerApi({ commit }, menus) {
    // menus当前登录用户的权限列表:userInfo.roles.menus
    // 定义一个新的数组:用来保存所有满足条件的路由
    var newArr = []
    // 遍历当前用户的权限，判断这些权限在动态路由中是否存在，如果存在就取出
    menus.forEach(item => {
      var res = asyncRoutes.filter(subitem => {
        // 判断当前用户权限在动态路由中是否存在，存在就返回路由
        return subitem.path === '/' + item
      })
      // 添加路由
      newArr.push(...res)
    })
    // 将动态路由赋值给路由对象
    console.log(newArr)
    commit('setroute', newArr)
    // 这里需要返回存在的路由数组
    return newArr
  }
}
export default {
  namespaced: true,
  state,
  mutations,
  actions
}
